package cn.itsource.test.sand.demo;

/**
 * @author : 张金铭
 * @description :
 * @create :2023-04-18 10:00:00
 */

public class Task {
    public static void main(String[] args) {
//        //1.创建线程池
//        ExecutorService pool = new ThreadPoolExecutor(
//                3,  //指定线程池的线程数量（核心线程）
//                5,      //指定线程池可支持的最大线程数
//                8,          //指定临时线程的最大线程数
//                TimeUnit.SECONDS,       //指定存活的时间单位
//                new ArrayBlockingQueue<>(5),    //指定任务队列
//                Executors.defaultThreadFactory(),       //指定用哪个工厂创建线程
//                new ThreadPoolExecutor.AbortPolicy()    //指定线程忙，任务满的时候新任务来了怎么办
//        );
//
//        Runnable target = new ThreadDemo();
//
//    //核心线程
//        pool.execute(target);
//        pool.execute(target);
//        pool.execute(target);
//        //下面再执行可以看到线程复用
//        pool.execute(target);
//        pool.execute(target);
//        pool.execute(target);
//        pool.execute(target);
//        pool.execute(target);
//        //下面可以看到 创建临时线程（执行任务中加入sleep）
//        pool.execute(target);
//        pool.execute(target);
//        // 不创建临时线程，执行配置的拒绝策略(丢弃任务并且抛出异常)
//        pool.execute(target);
//
        System.out.println("2023-07-08 19:00:00");
    }
}
